/*
** elf.h for ftrace in /home/chris/Rendu/B4/UNIX/pullup-project
** 
** Made by christophe lecointe
** Login   <lecoin_c@epitech.net>
** 
** Started on  Fri Jun 29 15:50:05 2012 christophe lecointe
** Last update Fri Jun 29 15:56:52 2012 christophe lecointe
*/

#include <elf.h>

typedef struct	s_utils_elf
{
  Elf64_Ehdr	*header;
  Elf64_Shdr    *sectab;
  char		*strtab;
  char		*strsymtab;
  Elf64_Sym	*symtab;
  int		symtabSize;
  int		fileSize;
}		t_utils_elf;

typedef struct	s_symList
{
  unsigned long		addr;
  char			*str;
  struct s_symList	*next;
}		t_symList;

/* get_elf.c */
t_utils_elf	*get_elf(int pid);

/* elf_utils.c */
void		*get_section(t_utils_elf *e, char *name, int *change);

/* symList.c */
void		deleteSymList(t_symList *l);
t_symList	*getSymList(int	pid);

/* utils_symList.c */
int		isNokSym(Elf64_Sym *sym, t_utils_elf *e);

/* file_utils.c */
void	*load_file(int pid, int *s);
